/**
*
* @author Anastasiya
*
*/

#pragma once
#include "util.h"
#include <string>
#include <fstream>

class ReportWriter{
public: ReportWriter(const bool testMode);
		void openReportFile(const std::string fileName);
		void closeReportFile(const int processedFileCount, const int failedFileCount);
		void writeResultsToReport(const std::string fileName, const ULONGLONG executionTime, 
			const int deletedEdgesCount);
		void writeFailResultsToReport(const std::string fileName, const std::string failureMessage);
		void writeHeader();
		void writeStatistics(const int processedFileCount, const int failedFileCount);
private: std::ofstream reportFileStream;
		 bool testMode;
		 static const std::string REPORT_VALUES_DIVIDER;
};

